/***************************************
定义色块识别，二维码识别消息结构体
***************************************/
#ifndef _CONFIG_H
#define _CONFIG_H

typedef struct QR_MSG{
  bool qr_detection_loop = true;      //用于二维码检测外部循环标志
  bool recv_qr_msg_start = false;     //用于发送二维码检测开始标志
  bool recv_qr_msg_success = false;   //用于发送二维码检测完成标志
  String send_commond_msg = "";       //用于定义二维码开始和结束时发送的数据
  int qr_x_pos = 0;                   //用于存储读取到的二维码的x坐标
  int qr_y_pos = 0;                   //用于存储读取到的二维码的y坐标
  int qr_w_pos = 0;                   //用于存储读取到的二维码的宽度值
  int qr_h_pos = 0;                   //用于存储读取到的二维码的高度值
  String qr_data = "";                //用于存储读取到的二维码的信息值
};

typedef struct COLOR_MSG{
  bool color_detection_loop = true;   //用于颜色检测外部循环标志
  bool recv_color_msg_success = false;//用于发送颜色检测完成标志
  bool recv_color_msg_start = false;  //用于发送颜色检测开始标志
  String send_commond_msg = "";       //用于定义颜色开始和结束时发送的数据
  int color_x_pos = 0;                //用于存储读取到的颜色的x坐标
  int color_y_pos = 0;                //用于存储读取到的颜色的y坐标
  int color_w_pos = 0;                //用于存储读取到的颜色的宽度值
  int color_h_pos = 0;                //用于存储读取到的颜色的高度值
  String color_data = "";             //用于存储读取到的颜色的信息值
};

typedef struct DETECT_MSG{
  int detection_color_sum_num = 0;    //用于存储检测颜色次数的变量
  int RED_COLOR = 1;                  //定义检测到的颜色对应值，检测到红色对应1
  int GREEN_COLOR = 2;                //定义检测到的颜色对应值，检测到绿色对应2
  int BLUE_COLOR = 3;                 //定义检测到的颜色对应值，检测到蓝色对应3
  String qr_complete_data = "";       //用于存储检测到的二维码完整字符串值，例如：“123+321”
  int before_the_plus_data = 0;       //用于存储二维码信息中加号之前的int类型数据，例如： 123
  int after_the_plus_data = 0;        //用于存储二维码信息中加号之后的int类型数据，例如： 321
  int recv_current_color = 0;         //用于检测颜色时，记录实时检测到的颜色当前值
  int recv_color_one = 0;             //用于存储第一次检测到的颜色值，红色对应1，绿色对应2，蓝色对应3
  int recv_color_two = 0;             //用于存储第二次检测到的颜色值，红色对应1，绿色对应2，蓝色对应3
  int recv_color_three = 0;           //用于存储第三次检测到的颜色值，红色对应1，绿色对应2，蓝色对应3
};

class serial_module{

};

#endif
